/*
 * MonopoliView.java
 */
package monopoli; 

import monopoli.gui.JInfoGiocatore;
import java.awt.Color;


import java.awt.Point;
import org.jdesktop.application.Action;
import org.jdesktop.application.ResourceMap;
import org.jdesktop.application.SingleFrameApplication;
import org.jdesktop.application.FrameView;
import org.jdesktop.application.TaskMonitor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import monopoli.gui.MyCellRenderer;

import java.util.ArrayList;
import java.util.Iterator;
import javax.swing.Timer;
import javax.swing.Icon;

import javax.swing.ImageIcon;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import monopoli.gui.Casa;
import monopoli.gui.Costruzione;
import monopoli.gui.Tabellone;
import monopoli.gui.JGetProperties;
import monopoli.gui.JSettingInitializationServer;
import monopoli.gui.JSelect;
import monopoli.gui.JSettingHost;
import monopoli.gui.JStart;
import monopoli.gui.Pedina;
import monopoli.gui.jInfoProp;

/**
 * The application's main frame.
 */
public class MonopoliView extends FrameView {
     boolean prova = false;
     JLabel lbl2 = new JLabel("MARIO!");
     int counter = 0;

    public MonopoliView(SingleFrameApplication app) {
       

        super(app);

        initComponents();

        //inizializzazione visualizzazioni

        jMsg.setVisible(true);
        jIniziaTurno.setEnabled(false);
        jIniziaTurno2.setEnabled(false);
        jHouse.setEnabled(false);
        jDice.setEnabled(false);
        jHotel.setEnabled(false);
        jBtnPassaTurno.setEnabled(false);
        btnAcq.setEnabled(false);

        pnlTrasparente.setBackground(new Color(255,255,255,0));
        pnlTrasparente.setOpaque(true);
        pnlTrasparente.setLayout(null);
        String[] array = {"",""};
        JlstPossedimenti.setListData(array);
        JlstGiocatori.setListData(array);
        JlstSoldi.setListData(array);



        // status bar initialization - message timeout, idle icon and busy animation, etc
        ResourceMap resourceMap = getResourceMap();
        int messageTimeout = resourceMap.getInteger("StatusBar.messageTimeout");
        messageTimer = new Timer(messageTimeout, new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                statusMessageLabel.setText("");
            }
        });
        messageTimer.setRepeats(false);
        int busyAnimationRate = resourceMap.getInteger("StatusBar.busyAnimationRate");
        for (int i = 0; i < busyIcons.length; i++) {
            busyIcons[i] = resourceMap.getIcon("StatusBar.busyIcons[" + i + "]");
        }
        busyIconTimer = new Timer(busyAnimationRate, new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                busyIconIndex = (busyIconIndex + 1) % busyIcons.length;
                statusAnimationLabel.setIcon(busyIcons[busyIconIndex]);
            }
        });
        idleIcon = resourceMap.getIcon("StatusBar.idleIcon");
        statusAnimationLabel.setIcon(idleIcon);
        progressBar.setVisible(false);

        // connecting action tasks to status bar via TaskMonitor
        TaskMonitor taskMonitor = new TaskMonitor(getApplication().getContext());
        taskMonitor.addPropertyChangeListener(new java.beans.PropertyChangeListener() {

            @Override
            public void propertyChange(java.beans.PropertyChangeEvent evt) {
                String propertyName = evt.getPropertyName();
                if ("started".equals(propertyName)) {
                    if (!busyIconTimer.isRunning()) {
                        statusAnimationLabel.setIcon(busyIcons[0]);
                        busyIconIndex = 0;
                        busyIconTimer.start();
                    }
                    progressBar.setVisible(true);
                    progressBar.setIndeterminate(true);
                } else if ("done".equals(propertyName)) {
                    busyIconTimer.stop();
                    statusAnimationLabel.setIcon(idleIcon);
                    progressBar.setVisible(false);
                    progressBar.setValue(0);
                } else if ("message".equals(propertyName)) {
                    String text = (String) (evt.getNewValue());
                    statusMessageLabel.setText((text == null) ? "" : text);
                    messageTimer.restart();
                } else if ("progress".equals(propertyName)) {
                    int value = (Integer) (evt.getNewValue());
                    progressBar.setVisible(true);
                    progressBar.setIndeterminate(false);
                    progressBar.setValue(value);
                }
            }
        });

    }

    @Action
    public void showAboutBox() {
        if (aboutBox == null) {
       
      JFrame mainFrame = MonopoliApp.getApplication().getMainFrame();
            aboutBox = new MonopoliAboutBox(mainFrame);
            aboutBox.setLocationRelativeTo(mainFrame);
        }
        MonopoliApp.getApplication().show(aboutBox);
    }

     @Action
    public void showInfoGiocatore(String s) {
          
          JFrame mainFrame = MonopoliApp.getApplication().getMainFrame();
          JDialog infoGioc = new JInfoGiocatore(mainFrame,true,this);
          infoGioc.setLocationRelativeTo(mainFrame);
          ((JInfoGiocatore)infoGioc).setGiocatore(s);
          MonopoliApp.getApplication().show(infoGioc);
    }


     @Action
    public void showInfoProp(String s) {

          JFrame mainFrame = MonopoliApp.getApplication().getMainFrame();
          JDialog infoGioc = new jInfoProp(mainFrame,true);
          infoGioc.setLocationRelativeTo(mainFrame);
          ((jInfoProp)infoGioc).setProprieta(s);
          MonopoliApp.getApplication().show(infoGioc);
    }

    private void showImpostaClientBox() {
        JFrame mainFrame = MonopoliApp.getApplication().getMainFrame();
        JDialog clientBox = new JSettingHost(mainFrame, true, this);
        clientBox.setLocationRelativeTo(mainFrame);
        MonopoliApp.getApplication().show(clientBox);
    }

    private void showImpostaServerBox() {
        JFrame mainFrame = MonopoliApp.getApplication().getMainFrame();
        JDialog serverBox = new JSettingInitializationServer(mainFrame, true, this);
        serverBox.setLocationRelativeTo(mainFrame);
        MonopoliApp.getApplication().show(serverBox);
    }

    public JDialog showAvviaGiocoBox() {
        JFrame mainFrame = MonopoliApp.getApplication().getMainFrame();
        JDialog startBox = new JStart(mainFrame, true, this);
        Monopoli.getMonopoliGUI().setStartDialog((JStart) startBox);
        startBox.setLocationRelativeTo(mainFrame);
        MonopoliApp.getApplication().show(startBox);

        return startBox;
    }

    public JDialog showRichiediNome() {
        JFrame mainFrame = MonopoliApp.getApplication().getMainFrame();
        JDialog startBox = new JStart(mainFrame, true, this);
        Monopoli.getMonopoliGUI().setStartDialog((JStart) startBox);
        startBox.setLocationRelativeTo(mainFrame);
        ((JStart)startBox).richiediNome();
        MonopoliApp.getApplication().show(startBox);
        ((JStart)startBox).richiediNome();
        

        return startBox;
    }

    public void showSelectIcon() {
        JFrame mainFrame = MonopoliApp.getApplication().getMainFrame();
        JDialog selectBox = new JSelect(mainFrame, true, this);
        selectBox.setLocationRelativeTo(mainFrame);
        MonopoliApp.getApplication().show(selectBox);
    }

    public void showGetProperties() {

        JFrame mainFrame = MonopoliApp.getApplication().getMainFrame();
        JGetProperties getBox = new JGetProperties(mainFrame, true, this);
        getBox.setLocationRelativeTo(mainFrame);
        MonopoliApp.getApplication().show(getBox);
    }

    @Action
    public void impostaClient() {
        this.showImpostaClientBox();
    }

    @Action
    public void impostaServer() {

        this.showImpostaServerBox();
    }

    @Action
    public void avviaGioco() {

        this.showAvviaGiocoBox();
    }

    public void updateDebugConsole(String strMsg) {
        //txtaDebugConsole.insert(strMsg, txtaDebugConsole.getCaretPosition());
        txtaDebugConsole.append(strMsg);
        
    }

    public void updatePlayerConsole(String strMsg) {
        //txtInfoGiocatore.setText("");
        //txtInfoGiocatore.insert(strMsg, 0);
        updateAppendPlayerConsole(strMsg);

    }



    public void updateAppendPlayerConsole(String strMsg) {

        txtInfoGiocatore.append(strMsg);
        int pos = txtInfoGiocatore.getDocument().getLength();
        try{
            txtInfoGiocatore.setCaretPosition(pos);
        }
        catch(IllegalArgumentException exc){
        }
    }

    public void updatePlayerInformation(String nomeGiocatore, String pedina) {

        if (nomeGiocatore != null) {
            txtNome.setText(nomeGiocatore.toUpperCase());
        }
        if (pedina != null) {

            String path = "resources/" + pedina + ".png";
            java.net.URL imgURL = getClass().getResource(path);
            if (imgURL == null) 
                System.out.println("PATH IMMAGINE NON TROVATO!");
            



            btnPedina.setIcon(new ImageIcon(imgURL));
            txtPedina.setText(pedina.toUpperCase());
            /*MonopoliApp.getApplication().getMainFrame().getContentPane().repaint();
            MonopoliApp.getApplication().getMainFrame().repaint();
            pnlDatiGiocatore.repaint();
            MonopoliApp.getApplication().getMainFrame().setVisible(true);
            MonopoliApp.getApplication().getMainFrame().setVisible(true);
            MonopoliApp.getApplication().getMainFrame().setVisible(true);
            MonopoliApp.getApplication().getMainFrame().getContentPane().setVisible(true);
            MonopoliApp.getApplication().getMainFrame().setVisible(true);

            pnlDatiGiocatore.setVisible(true);*/


            /*File file = new File("resources/pera.png");
            image = ImageIO.read(file);
            JLabel lblNew = new JLabel(new ImageIcon(image));
            //lblPedinaImg.setIcon(i);
            pnlDatiGiocatore.add(lblNew);
            //lblPedinaImg.setVisible(true);
            //pnlDatiGiocatore.setVisible(true);

            MonopoliApp.getApplication().getMainFrame().setVisible(true);
            //MonopoliApp.getApplication().getMainFrame().revalidate();
             */

        }
    }

    public void updatePossedimenti(ArrayList<String> possedimenti) {
        if (possedimenti != null) {
            int n = possedimenti.size();
            int nn =0;
             String[] data = new String[n];
            Iterator it = possedimenti.iterator();
            while (it.hasNext()) {
                String p = (String) it.next();
                data[nn] = p;
                nn++;
            }
            JlstPossedimenti.setListData(data);
        }
    }
    
    public void updateGiocatori(ArrayList<String> giocatori) {

        if (giocatori != null) {
            int n = giocatori.size();
            int nn = 0;
            String[] data = new String[n];

            Iterator it = giocatori.iterator();
            while (it.hasNext()) {
                String p = (String) it.next();
                data[nn] = p;
                nn++;
            }
            
            JlstGiocatori.setListData(data);

        }
        JlstGiocatori.setCellRenderer(new MyCellRenderer());
    }

    public void updateSoldi(ArrayList<String> soldi) {
        if (soldi != null) {
            int n = soldi.size();
            int nn =0;
             String[] data = new String[n];
            Iterator it = soldi.iterator();
            while (it.hasNext()) {
                String p = (String) it.next();
                data[nn] = p;
                nn++;
            }
            JlstSoldi.setListData(data);
        }
    }



    public void updateIniziaTurno(Boolean b) {
        jIniziaTurno.setEnabled(b);
        jIniziaTurno2.setEnabled(b);
        if (b) {
            jMsg.setText("E' il tuo turno");
        }
    }

    public void updatePassaTurno(Boolean b) {
        jBtnPassaTurno.setEnabled(b);
        if (b) {
            jMsg.setText("Puoi passare");
        }
    }

    public void updateDadi(Boolean b) {
        jDice.setEnabled(b);
    }

    public void updateCasa(Boolean b) {
        jHouse.setEnabled(b);
    }

    public void updateHotel(Boolean b) {
        jHotel.setEnabled(b);
    }

    public void updateAcq(Boolean b) {
        btnAcq.setEnabled(b);
    }

    public void updateMessaggioPannello(String s) {
        jMsg.setText(s);
    }

    public void updateInitializationServerTab(String ipServer, String portServer) {
        txtIpServer.setText(ipServer);
        txtPorta.setText(portServer);
    }

    public void updateHostTab(String localHostBindName, String localHostIp, String localHostPort, String nextHostBindName, String nextHostIp, String nextHostPort) {

        txtLocalHostBindName.setText(localHostBindName);
        txtLocalHostIp.setText(localHostIp);
        txtLocalHostPort.setText(localHostPort);
        txtNextHostBindName.setText(nextHostBindName);
        txtNextHostIp.setText(nextHostIp);
        txtNextHostPort.setText(nextHostPort);

        boolean res1, res2;
        res1 = nextHostIp.isEmpty();
        res2 = nextHostPort.isEmpty();
        if ( (res1==false) &&  (res2==false) ) {
            btnPingNextHost.setEnabled(true);
        }
            
            
    }

    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        mainPanel = new javax.swing.JPanel();
        jPanTabellone = new javax.swing.JPanel();
        jLayeredPane1 = new javax.swing.JLayeredPane();
        pnlTrasparente = new javax.swing.JPanel();
        lblTabellone = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        pnlInfo = new javax.swing.JPanel();
        jTabbedPane1 = new javax.swing.JTabbedPane();
        pnlServer = new javax.swing.JPanel();
        lblIp = new javax.swing.JLabel();
        txtIpServer = new javax.swing.JTextField();
        lblPorta = new javax.swing.JLabel();
        txtPorta = new javax.swing.JTextField();
        btnPingServer = new javax.swing.JButton();
        btnAggiornaStato = new javax.swing.JButton();
        txtStato = new javax.swing.JTextField();
        lblStato = new javax.swing.JLabel();
        pnlDatiClient = new javax.swing.JPanel();
        txtLocalHostPort = new javax.swing.JTextField();
        lblLocalHostPort = new javax.swing.JLabel();
        lblLocalHostIp = new javax.swing.JLabel();
        txtLocalHostIp = new javax.swing.JTextField();
        lblNextHostIp = new javax.swing.JLabel();
        btnPingNextHost = new javax.swing.JButton();
        txtNextHostIp = new javax.swing.JTextField();
        lblNextHostPort = new javax.swing.JLabel();
        txtNextHostPort = new javax.swing.JTextField();
        txtNextHostBindName = new javax.swing.JTextField();
        lblNextHostBindName = new javax.swing.JLabel();
        txtLocalHostBindName = new javax.swing.JTextField();
        lblLocalHostBindName = new javax.swing.JLabel();
        pnlDatiGiocatore = new javax.swing.JPanel();
        jLabel2 = new javax.swing.JLabel();
        txtNome = new javax.swing.JTextField();
        jLabel6 = new javax.swing.JLabel();
        btnPedina = new javax.swing.JButton();
        jLabel7 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        txtPedina = new javax.swing.JTextField();
        jLabel8 = new javax.swing.JLabel();
        jScrollPane3 = new javax.swing.JScrollPane();
        jScrollPane6 = new javax.swing.JScrollPane();
        JlstPossedimenti = new javax.swing.JList();
        jScrollPane5 = new javax.swing.JScrollPane();
        jScrollPane7 = new javax.swing.JScrollPane();
        JlstGiocatori = new javax.swing.JList();
        jScrollPane2 = new javax.swing.JScrollPane();
        jScrollPane8 = new javax.swing.JScrollPane();
        JlstSoldi = new javax.swing.JList();
        pnlCommand = new javax.swing.JTabbedPane();
        pnlComando = new javax.swing.JPanel();
        jIniziaTurno = new javax.swing.JButton();
        jMsg = new javax.swing.JLabel();
        jDice = new javax.swing.JButton();
        jHouse = new javax.swing.JButton();
        jHotel = new javax.swing.JButton();
        jBtnPassaTurno = new javax.swing.JButton();
        btnAcq = new javax.swing.JButton();
        jIniziaTurno2 = new javax.swing.JButton();
        pnlDebug = new javax.swing.JPanel();
        lblDebug = new javax.swing.JLabel();
        jScrollPane1 = new javax.swing.JScrollPane();
        txtaDebugConsole = new javax.swing.JTextArea();
        jScrollPane4 = new javax.swing.JScrollPane();
        txtInfoGiocatore = new javax.swing.JTextArea();
        lblDebug1 = new javax.swing.JLabel();
        menuBar = new javax.swing.JMenuBar();
        javax.swing.JMenu fileMenu = new javax.swing.JMenu();
        impostaClient = new javax.swing.JMenuItem();
        impostaServer = new javax.swing.JMenuItem();
        avvioGioco = new javax.swing.JMenuItem();
        javax.swing.JMenuItem exitMenuItem = new javax.swing.JMenuItem();
        javax.swing.JMenu helpMenu = new javax.swing.JMenu();
        javax.swing.JMenuItem aboutMenuItem = new javax.swing.JMenuItem();
        pnlStatus = new javax.swing.JPanel();
        javax.swing.JSeparator statusPanelSeparator = new javax.swing.JSeparator();
        statusMessageLabel = new javax.swing.JLabel();
        statusAnimationLabel = new javax.swing.JLabel();
        progressBar = new javax.swing.JProgressBar();
        jMenuBar1 = new javax.swing.JMenuBar();
        jMenu1 = new javax.swing.JMenu();
        jMenu2 = new javax.swing.JMenu();

        org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(monopoli.MonopoliApp.class).getContext().getResourceMap(MonopoliView.class);
        mainPanel.setBackground(resourceMap.getColor("mainPanel.background")); // NOI18N
        mainPanel.setName("mainPanel"); // NOI18N

        jPanTabellone.setName("jPanTabellone"); // NOI18N

        jLayeredPane1.setName("jLayeredPane1"); // NOI18N

        pnlTrasparente.setName("pnlTrasparente"); // NOI18N
        pnlTrasparente.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                pnlTrasparenteMouseClicked(evt);
            }
        });

        org.jdesktop.layout.GroupLayout pnlTrasparenteLayout = new org.jdesktop.layout.GroupLayout(pnlTrasparente);
        pnlTrasparente.setLayout(pnlTrasparenteLayout);
        pnlTrasparenteLayout.setHorizontalGroup(
            pnlTrasparenteLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(0, 700, Short.MAX_VALUE)
        );
        pnlTrasparenteLayout.setVerticalGroup(
            pnlTrasparenteLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(0, 700, Short.MAX_VALUE)
        );

        pnlTrasparente.setBounds(0, -10, 700, 700);
        jLayeredPane1.add(pnlTrasparente, javax.swing.JLayeredPane.DEFAULT_LAYER);

        lblTabellone.setIcon(resourceMap.getIcon("lblTabellone.icon")); // NOI18N
        lblTabellone.setText(resourceMap.getString("lblTabellone.text")); // NOI18N
        lblTabellone.setName("lblTabellone"); // NOI18N
        lblTabellone.setBounds(4, 0, 700, 700);
        jLayeredPane1.add(lblTabellone, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLabel4.setText(resourceMap.getString("jLabel4.text")); // NOI18N
        jLabel4.setName("jLabel4"); // NOI18N
        jLabel4.setBounds(620, 620, -1, -1);
        jLayeredPane1.add(jLabel4, javax.swing.JLayeredPane.DEFAULT_LAYER);

        pnlInfo.setBackground(resourceMap.getColor("pnlInfo.background")); // NOI18N
        pnlInfo.setName("pnlInfo"); // NOI18N

        jTabbedPane1.setName("jTabSommario"); // NOI18N
        jTabbedPane1.setPreferredSize(new java.awt.Dimension(261, 250));

        pnlServer.setName("pnlServer"); // NOI18N

        lblIp.setText(resourceMap.getString("lblIp.text")); // NOI18N
        lblIp.setName("lblIp"); // NOI18N

        txtIpServer.setEditable(false);
        txtIpServer.setName("txtIpServer"); // NOI18N

        lblPorta.setText(resourceMap.getString("lblPorta.text")); // NOI18N
        lblPorta.setName("lblPorta"); // NOI18N

        txtPorta.setEditable(false);
        txtPorta.setName("txtPorta"); // NOI18N

        btnPingServer.setText(resourceMap.getString("btnPingServer.text")); // NOI18N
        btnPingServer.setName("btnPingServer"); // NOI18N
        btnPingServer.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                btnPingServerMouseClicked(evt);
            }
        });

        btnAggiornaStato.setText(resourceMap.getString("btnAggiornaStato.text")); // NOI18N
        btnAggiornaStato.setName("btnAggiornaStato"); // NOI18N

        txtStato.setEditable(false);
        txtStato.setText(resourceMap.getString("txtStato.text")); // NOI18N
        txtStato.setName("txtStato"); // NOI18N

        lblStato.setText(resourceMap.getString("lblStato.text")); // NOI18N
        lblStato.setName("lblStato"); // NOI18N

        org.jdesktop.layout.GroupLayout pnlServerLayout = new org.jdesktop.layout.GroupLayout(pnlServer);
        pnlServer.setLayout(pnlServerLayout);
        pnlServerLayout.setHorizontalGroup(
            pnlServerLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(pnlServerLayout.createSequentialGroup()
                .addContainerGap()
                .add(pnlServerLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(lblIp)
                    .add(org.jdesktop.layout.GroupLayout.TRAILING, lblPorta, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 176, Short.MAX_VALUE)
                    .add(lblStato))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(pnlServerLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(org.jdesktop.layout.GroupLayout.TRAILING, txtStato, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 211, Short.MAX_VALUE)
                    .add(txtPorta, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 211, Short.MAX_VALUE)
                    .add(txtIpServer, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 211, Short.MAX_VALUE))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(pnlServerLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
                    .add(btnAggiornaStato, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .add(btnPingServer, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 93, Short.MAX_VALUE))
                .addContainerGap())
        );
        pnlServerLayout.setVerticalGroup(
            pnlServerLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(pnlServerLayout.createSequentialGroup()
                .addContainerGap()
                .add(pnlServerLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(pnlServerLayout.createSequentialGroup()
                        .add(btnPingServer, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 51, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .addContainerGap())
                    .add(pnlServerLayout.createSequentialGroup()
                        .add(pnlServerLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                            .add(lblIp, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 23, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(txtIpServer, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(pnlServerLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                            .add(txtPorta, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(lblPorta, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 20, Short.MAX_VALUE))
                        .add(8, 8, 8)
                        .add(pnlServerLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                            .add(btnAggiornaStato)
                            .add(txtStato, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(lblStato))
                        .add(215, 215, 215))))
        );

        jTabbedPane1.addTab("Dati Server", pnlServer);

        pnlDatiClient.setName("pnlDatiClient"); // NOI18N

        txtLocalHostPort.setEditable(false);
        txtLocalHostPort.setName("txtLocalHostPort"); // NOI18N

        lblLocalHostPort.setText(resourceMap.getString("lblPorta1.text")); // NOI18N
        lblLocalHostPort.setName("lblPorta1"); // NOI18N

        lblLocalHostIp.setText(resourceMap.getString("jLabel5.text")); // NOI18N
        lblLocalHostIp.setName("jLabel5"); // NOI18N

        txtLocalHostIp.setEditable(false);
        txtLocalHostIp.setName("txtLocalHostIp"); // NOI18N

        lblNextHostIp.setText(resourceMap.getString("lblNextHostIp.text")); // NOI18N
        lblNextHostIp.setName("lblNextHostIp"); // NOI18N

        btnPingNextHost.setText(resourceMap.getString("btnPingSelectedHost.text")); // NOI18N
        btnPingNextHost.setEnabled(false);
        btnPingNextHost.setName("btnPingSelectedHost"); // NOI18N
        btnPingNextHost.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                btnPingNextHostMouseClicked(evt);
            }
        });

        txtNextHostIp.setEditable(false);
        txtNextHostIp.setName("txtNextHostIp"); // NOI18N

        lblNextHostPort.setText(resourceMap.getString("lblNextHostPort.text")); // NOI18N
        lblNextHostPort.setName("lblNextHostPort"); // NOI18N

        txtNextHostPort.setEditable(false);
        txtNextHostPort.setName("txtNextHostPort"); // NOI18N

        txtNextHostBindName.setEditable(false);
        txtNextHostBindName.setName("txtNextHostBindName"); // NOI18N

        lblNextHostBindName.setText(resourceMap.getString("lblNextHostBindName.text")); // NOI18N
        lblNextHostBindName.setName("lblNextHostBindName"); // NOI18N

        txtLocalHostBindName.setEditable(false);
        txtLocalHostBindName.setName("txtLocalHostBindName"); // NOI18N

        lblLocalHostBindName.setText(resourceMap.getString("lblLocalHostBindName.text")); // NOI18N
        lblLocalHostBindName.setName("lblLocalHostBindName"); // NOI18N

        org.jdesktop.layout.GroupLayout pnlDatiClientLayout = new org.jdesktop.layout.GroupLayout(pnlDatiClient);
        pnlDatiClient.setLayout(pnlDatiClientLayout);
        pnlDatiClientLayout.setHorizontalGroup(
            pnlDatiClientLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(pnlDatiClientLayout.createSequentialGroup()
                .addContainerGap()
                .add(pnlDatiClientLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(txtLocalHostPort, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 230, Short.MAX_VALUE)
                    .add(txtLocalHostIp, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 230, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(pnlDatiClientLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
                        .add(lblLocalHostBindName)
                        .add(txtLocalHostBindName, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 230, Short.MAX_VALUE))
                    .add(lblLocalHostIp)
                    .add(lblLocalHostPort))
                .add(43, 43, 43)
                .add(pnlDatiClientLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(lblNextHostPort)
                    .add(lblNextHostIp)
                    .add(lblNextHostBindName)
                    .add(pnlDatiClientLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING, false)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, txtNextHostPort)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, txtNextHostIp)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, txtNextHostBindName, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 207, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
                .add(39, 39, 39))
            .add(pnlDatiClientLayout.createSequentialGroup()
                .add(141, 141, 141)
                .add(btnPingNextHost, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 246, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(123, Short.MAX_VALUE))
        );
        pnlDatiClientLayout.setVerticalGroup(
            pnlDatiClientLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(pnlDatiClientLayout.createSequentialGroup()
                .addContainerGap()
                .add(pnlDatiClientLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(pnlDatiClientLayout.createSequentialGroup()
                        .add(lblLocalHostBindName)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(txtLocalHostBindName, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(lblLocalHostIp)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(txtLocalHostIp, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .add(12, 12, 12)
                        .add(lblLocalHostPort)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(txtLocalHostPort, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .add(pnlDatiClientLayout.createSequentialGroup()
                        .add(lblNextHostBindName)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(txtNextHostBindName, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(lblNextHostIp)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(txtNextHostIp, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .add(12, 12, 12)
                        .add(lblNextHostPort)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(txtNextHostPort, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
                .add(btnPingNextHost)
                .add(47, 47, 47))
        );

        jTabbedPane1.addTab(resourceMap.getString("pnlDatiClient.TabConstraints.tabTitle"), pnlDatiClient); // NOI18N

        pnlDatiGiocatore.setName("pnlDatiGiocatore"); // NOI18N

        jLabel2.setText(resourceMap.getString("jLabel2.text")); // NOI18N
        jLabel2.setName("jLabel2"); // NOI18N

        txtNome.setBackground(resourceMap.getColor("txtNome.background")); // NOI18N
        txtNome.setEditable(false);
        txtNome.setText(resourceMap.getString("txtNome.text")); // NOI18N
        txtNome.setName("txtNome"); // NOI18N

        jLabel6.setText(resourceMap.getString("jLabel6.text")); // NOI18N
        jLabel6.setName("jLabel6"); // NOI18N

        btnPedina.setText(resourceMap.getString("btnPedina.text")); // NOI18N
        btnPedina.setName("btnPedina"); // NOI18N

        jLabel7.setText(resourceMap.getString("jLabel7.text")); // NOI18N
        jLabel7.setName("jLabel7"); // NOI18N

        jLabel3.setText(resourceMap.getString("jLabel3.text")); // NOI18N
        jLabel3.setName("jLabel3"); // NOI18N

        txtPedina.setBackground(resourceMap.getColor("txtPedina.background")); // NOI18N
        txtPedina.setEditable(false);
        txtPedina.setName("txtPedina"); // NOI18N

        jLabel8.setText(resourceMap.getString("jLabel8.text")); // NOI18N
        jLabel8.setName("jLabel8"); // NOI18N

        jScrollPane3.setName("jScrollPane3"); // NOI18N

        jScrollPane6.setName("jScrollPane6"); // NOI18N

        JlstPossedimenti.setName("JlstPossedimenti"); // NOI18N
        JlstPossedimenti.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                JlstPossedimentiMouseClicked(evt);
            }
        });
        jScrollPane6.setViewportView(JlstPossedimenti);

        jScrollPane3.setViewportView(jScrollPane6);

        jScrollPane5.setName("jScrollPane5"); // NOI18N

        jScrollPane7.setName("jScrollPane7"); // NOI18N

        JlstGiocatori.setName("JlstGiocatori"); // NOI18N
        JlstGiocatori.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                JlstGiocatoriMouseClicked(evt);
            }
        });
        jScrollPane7.setViewportView(JlstGiocatori);

        jScrollPane5.setViewportView(jScrollPane7);

        jScrollPane2.setName("jScrollPane2"); // NOI18N

        jScrollPane8.setName("jScrollPane8"); // NOI18N

        JlstSoldi.setName("JlstSoldi"); // NOI18N
        jScrollPane8.setViewportView(JlstSoldi);

        jScrollPane2.setViewportView(jScrollPane8);

        org.jdesktop.layout.GroupLayout pnlDatiGiocatoreLayout = new org.jdesktop.layout.GroupLayout(pnlDatiGiocatore);
        pnlDatiGiocatore.setLayout(pnlDatiGiocatoreLayout);
        pnlDatiGiocatoreLayout.setHorizontalGroup(
            pnlDatiGiocatoreLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(pnlDatiGiocatoreLayout.createSequentialGroup()
                .addContainerGap()
                .add(pnlDatiGiocatoreLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(jLabel2)
                    .add(jLabel3))
                .add(22, 22, 22)
                .add(pnlDatiGiocatoreLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(jScrollPane3, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 130, Short.MAX_VALUE)
                    .add(txtNome, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 130, Short.MAX_VALUE)
                    .add(txtPedina, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 130, Short.MAX_VALUE)
                    .add(org.jdesktop.layout.GroupLayout.TRAILING, jLabel6, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 130, Short.MAX_VALUE))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(pnlDatiGiocatoreLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(jScrollPane2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 111, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(btnPedina, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 55, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(jLabel7))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(pnlDatiGiocatoreLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(jLabel8, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 183, Short.MAX_VALUE)
                    .add(jScrollPane5, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 171, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );
        pnlDatiGiocatoreLayout.setVerticalGroup(
            pnlDatiGiocatoreLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(org.jdesktop.layout.GroupLayout.TRAILING, pnlDatiGiocatoreLayout.createSequentialGroup()
                .add(23, 23, 23)
                .add(pnlDatiGiocatoreLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                    .add(pnlDatiGiocatoreLayout.createSequentialGroup()
                        .add(pnlDatiGiocatoreLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                            .add(txtNome, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(jLabel2))
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(pnlDatiGiocatoreLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                            .add(jLabel3)
                            .add(txtPedina, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
                    .add(btnPedina, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 47, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .add(11, 11, 11)
                .add(pnlDatiGiocatoreLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(jScrollPane2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 119, Short.MAX_VALUE)
                    .add(jScrollPane5, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 119, Short.MAX_VALUE)
                    .add(jScrollPane3, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 119, Short.MAX_VALUE))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(pnlDatiGiocatoreLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(pnlDatiGiocatoreLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                        .add(jLabel7)
                        .add(jLabel8))
                    .add(jLabel6))
                .addContainerGap())
        );

        jTabbedPane1.addTab(resourceMap.getString("pnlDatiGiocatore.TabConstraints.tabTitle"), pnlDatiGiocatore); // NOI18N

        pnlCommand.setName("JTabSommario"); // NOI18N

        pnlComando.setName("pnlComando"); // NOI18N

        jIniziaTurno.setFont(resourceMap.getFont("jIniziaTurno.font")); // NOI18N
        jIniziaTurno.setText(resourceMap.getString("jIniziaTurno.text")); // NOI18N
        jIniziaTurno.setEnabled(false);
        jIniziaTurno.setName("jIniziaTurno"); // NOI18N
        jIniziaTurno.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jIniziaTurnoMouseClicked(evt);
            }
        });
        jIniziaTurno.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jIniziaTurnoActionPerformed(evt);
            }
        });

        jMsg.setFont(resourceMap.getFont("jMsg.font")); // NOI18N
        jMsg.setText(resourceMap.getString("jMsg.text")); // NOI18N
        jMsg.setName("jMsg"); // NOI18N

        javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(monopoli.MonopoliApp.class).getContext().getActionMap(MonopoliView.class, this);
        jDice.setAction(actionMap.get("LancioDadi")); // NOI18N
        jDice.setFont(resourceMap.getFont("jDice.font")); // NOI18N
        jDice.setIcon(resourceMap.getIcon("jDice.icon")); // NOI18N
        jDice.setText(resourceMap.getString("jDice.text")); // NOI18N
        jDice.setName("jDice"); // NOI18N

        jHouse.setAction(actionMap.get("aggiungiCasa")); // NOI18N
        jHouse.setIcon(resourceMap.getIcon("jHouse.icon")); // NOI18N
        jHouse.setText(resourceMap.getString("jHouse.text")); // NOI18N
        jHouse.setIconTextGap(10);
        jHouse.setName("jHouse"); // NOI18N

        jHotel.setAction(actionMap.get("aggiungiHotel")); // NOI18N
        jHotel.setIcon(resourceMap.getIcon("jHotel.icon")); // NOI18N
        jHotel.setText(resourceMap.getString("jHotel.text")); // NOI18N
        jHotel.setName("jHotel"); // NOI18N

        jBtnPassaTurno.setAction(actionMap.get("passaTurno")); // NOI18N
        jBtnPassaTurno.setFont(resourceMap.getFont("jBtnPassaTurno.font")); // NOI18N
        jBtnPassaTurno.setText(resourceMap.getString("jBtnPassaTurno.text")); // NOI18N
        jBtnPassaTurno.setName("jBtnPassaTurno"); // NOI18N

        btnAcq.setAction(actionMap.get("acquista")); // NOI18N
        btnAcq.setFont(resourceMap.getFont("btnAcq.font")); // NOI18N
        btnAcq.setText(resourceMap.getString("btnAcq.text")); // NOI18N
        btnAcq.setName("btnAcq"); // NOI18N

        jIniziaTurno2.setFont(resourceMap.getFont("jIniziaTurno2.font")); // NOI18N
        jIniziaTurno2.setText(resourceMap.getString("jIniziaTurno2.text")); // NOI18N
        jIniziaTurno2.setName("jIniziaTurno2"); // NOI18N
        jIniziaTurno2.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                jIniziaTurno2MouseClicked(evt);
            }
        });

        org.jdesktop.layout.GroupLayout pnlComandoLayout = new org.jdesktop.layout.GroupLayout(pnlComando);
        pnlComando.setLayout(pnlComandoLayout);
        pnlComandoLayout.setHorizontalGroup(
            pnlComandoLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(pnlComandoLayout.createSequentialGroup()
                .addContainerGap()
                .add(pnlComandoLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(jIniziaTurno, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 134, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(pnlComandoLayout.createSequentialGroup()
                        .add(pnlComandoLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                            .add(pnlComandoLayout.createSequentialGroup()
                                .add(jIniziaTurno2)
                                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                                .add(jBtnPassaTurno))
                            .add(pnlComandoLayout.createSequentialGroup()
                                .add(jDice, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 72, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                                .add(jHouse, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 59, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                                .add(jHotel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 62, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(pnlComandoLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
                            .add(jMsg, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .add(btnAcq, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
                .addContainerGap(130, Short.MAX_VALUE))
        );
        pnlComandoLayout.setVerticalGroup(
            pnlComandoLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(pnlComandoLayout.createSequentialGroup()
                .addContainerGap()
                .add(pnlComandoLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
                    .add(pnlComandoLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                        .add(jIniziaTurno2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 24, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .add(jBtnPassaTurno, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 24, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .add(btnAcq, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 23, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .add(jIniziaTurno, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 0, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(pnlComandoLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(org.jdesktop.layout.GroupLayout.TRAILING, jDice, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 55, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(org.jdesktop.layout.GroupLayout.TRAILING, pnlComandoLayout.createSequentialGroup()
                        .add(jMsg, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 26, Short.MAX_VALUE)
                        .add(29, 29, 29))
                    .add(org.jdesktop.layout.GroupLayout.TRAILING, jHouse, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 55, Short.MAX_VALUE)
                    .add(jHotel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 55, Short.MAX_VALUE))
                .addContainerGap())
        );

        pnlCommand.addTab(resourceMap.getString("pnlComando.TabConstraints.tabTitle"), pnlComando); // NOI18N

        pnlDebug.setName("pnlDebug"); // NOI18N

        lblDebug.setText(resourceMap.getString("lblDebug.text")); // NOI18N
        lblDebug.setName("lblDebug"); // NOI18N

        jScrollPane1.setName("jScrollPane1"); // NOI18N

        txtaDebugConsole.setColumns(20);
        txtaDebugConsole.setEditable(false);
        txtaDebugConsole.setFont(resourceMap.getFont("txtaDebugConsole.font")); // NOI18N
        txtaDebugConsole.setRows(35);
        txtaDebugConsole.setName("txtaDebugConsole"); // NOI18N
        jScrollPane1.setViewportView(txtaDebugConsole);

        jScrollPane4.setName("jScrollPane4"); // NOI18N

        txtInfoGiocatore.setColumns(20);
        txtInfoGiocatore.setEditable(false);
        txtInfoGiocatore.setFont(resourceMap.getFont("txtInfoGiocatore.font")); // NOI18N
        txtInfoGiocatore.setRows(35);
        txtInfoGiocatore.setName("txtInfoGiocatore"); // NOI18N
        txtInfoGiocatore.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                txtInfoGiocatoreMouseClicked(evt);
            }
        });
        jScrollPane4.setViewportView(txtInfoGiocatore);

        lblDebug1.setText(resourceMap.getString("lblDebug1.text")); // NOI18N
        lblDebug1.setName("lblDebug1"); // NOI18N

        org.jdesktop.layout.GroupLayout pnlDebugLayout = new org.jdesktop.layout.GroupLayout(pnlDebug);
        pnlDebug.setLayout(pnlDebugLayout);
        pnlDebugLayout.setHorizontalGroup(
            pnlDebugLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(pnlDebugLayout.createSequentialGroup()
                .addContainerGap()
                .add(pnlDebugLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(lblDebug1)
                    .add(lblDebug)
                    .add(pnlDebugLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING, false)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, jScrollPane1)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, jScrollPane4, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 495, Short.MAX_VALUE)))
                .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        pnlDebugLayout.setVerticalGroup(
            pnlDebugLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(pnlDebugLayout.createSequentialGroup()
                .addContainerGap()
                .add(lblDebug1)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(jScrollPane4, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 116, Short.MAX_VALUE)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(lblDebug)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(jScrollPane1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 116, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );

        org.jdesktop.layout.GroupLayout pnlInfoLayout = new org.jdesktop.layout.GroupLayout(pnlInfo);
        pnlInfo.setLayout(pnlInfoLayout);
        pnlInfoLayout.setHorizontalGroup(
            pnlInfoLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(pnlInfoLayout.createSequentialGroup()
                .add(pnlInfoLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(pnlInfoLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
                        .add(pnlDebug, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                        .add(jTabbedPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .add(org.jdesktop.layout.GroupLayout.TRAILING, pnlInfoLayout.createSequentialGroup()
                        .addContainerGap()
                        .add(pnlCommand, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)))
                .addContainerGap())
        );
        pnlInfoLayout.setVerticalGroup(
            pnlInfoLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(org.jdesktop.layout.GroupLayout.TRAILING, pnlInfoLayout.createSequentialGroup()
                .add(jTabbedPane1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 259, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
                .add(pnlCommand, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 128, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .add(pnlDebug, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(23, 23, 23))
        );

        pnlCommand.getAccessibleContext().setAccessibleName(resourceMap.getString("jTabbedPane2.AccessibleContext.accessibleName")); // NOI18N

        org.jdesktop.layout.GroupLayout jPanTabelloneLayout = new org.jdesktop.layout.GroupLayout(jPanTabellone);
        jPanTabellone.setLayout(jPanTabelloneLayout);
        jPanTabelloneLayout.setHorizontalGroup(
            jPanTabelloneLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(jPanTabelloneLayout.createSequentialGroup()
                .add(jLayeredPane1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 701, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(pnlInfo, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
        );
        jPanTabelloneLayout.setVerticalGroup(
            jPanTabelloneLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(jLayeredPane1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 699, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
            .add(pnlInfo, 0, 699, Short.MAX_VALUE)
        );

        org.jdesktop.layout.GroupLayout mainPanelLayout = new org.jdesktop.layout.GroupLayout(mainPanel);
        mainPanel.setLayout(mainPanelLayout);
        mainPanelLayout.setHorizontalGroup(
            mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(jPanTabellone, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
        );
        mainPanelLayout.setVerticalGroup(
            mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(jPanTabellone, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
        );

        menuBar.setName("menuBar"); // NOI18N

        fileMenu.setAction(actionMap.get("impostaServer")); // NOI18N
        fileMenu.setText(resourceMap.getString("fileMenu.text")); // NOI18N
        fileMenu.setName("fileMenu"); // NOI18N

        impostaClient.setAction(actionMap.get("impostaClient")); // NOI18N
        impostaClient.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_H, 0));
        impostaClient.setText(resourceMap.getString("impostaClient.text")); // NOI18N
        impostaClient.setName("impostaClient"); // NOI18N
        fileMenu.add(impostaClient);

        impostaServer.setAction(actionMap.get("impostaServer")); // NOI18N
        impostaServer.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, 0));
        impostaServer.setText(resourceMap.getString("impostaServer.text")); // NOI18N
        impostaServer.setName("impostaServer"); // NOI18N
        fileMenu.add(impostaServer);

        avvioGioco.setAction(actionMap.get("avviaGioco")); // NOI18N
        avvioGioco.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F5, 0));
        avvioGioco.setText(resourceMap.getString("avvioGioco.text")); // NOI18N
        avvioGioco.setName("avvioGioco"); // NOI18N
        fileMenu.add(avvioGioco);

        exitMenuItem.setAction(actionMap.get("quit")); // NOI18N
        exitMenuItem.setText(resourceMap.getString("exitMenuItem.text")); // NOI18N
        exitMenuItem.setName("exitMenuItem"); // NOI18N
        fileMenu.add(exitMenuItem);

        menuBar.add(fileMenu);

        helpMenu.setText(resourceMap.getString("helpMenu.text")); // NOI18N
        helpMenu.setName("helpMenu"); // NOI18N

        aboutMenuItem.setAction(actionMap.get("showAboutBox")); // NOI18N
        aboutMenuItem.setIcon(resourceMap.getIcon("aboutMenuItem.icon")); // NOI18N
        aboutMenuItem.setText(resourceMap.getString("aboutMenuItem.text")); // NOI18N
        aboutMenuItem.setName("aboutMenuItem"); // NOI18N
        helpMenu.add(aboutMenuItem);

        menuBar.add(helpMenu);

        pnlStatus.setName("pnlStatus"); // NOI18N

        statusPanelSeparator.setName("statusPanelSeparator"); // NOI18N

        statusMessageLabel.setName("statusMessageLabel"); // NOI18N

        statusAnimationLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        statusAnimationLabel.setName("statusAnimationLabel"); // NOI18N

        progressBar.setName("progressBar"); // NOI18N

        org.jdesktop.layout.GroupLayout pnlStatusLayout = new org.jdesktop.layout.GroupLayout(pnlStatus);
        pnlStatus.setLayout(pnlStatusLayout);
        pnlStatusLayout.setHorizontalGroup(
            pnlStatusLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(statusPanelSeparator, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 1399, Short.MAX_VALUE)
            .add(pnlStatusLayout.createSequentialGroup()
                .addContainerGap()
                .add(statusMessageLabel)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 1229, Short.MAX_VALUE)
                .add(progressBar, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(statusAnimationLabel)
                .addContainerGap())
        );
        pnlStatusLayout.setVerticalGroup(
            pnlStatusLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(pnlStatusLayout.createSequentialGroup()
                .add(statusPanelSeparator, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .add(pnlStatusLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(statusMessageLabel)
                    .add(statusAnimationLabel)
                    .add(progressBar, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                .add(3, 3, 3))
        );

        jMenuBar1.setName("jMenuBar1"); // NOI18N

        jMenu1.setText(resourceMap.getString("jMenu1.text")); // NOI18N
        jMenu1.setName("jMenu1"); // NOI18N
        jMenuBar1.add(jMenu1);

        jMenu2.setText(resourceMap.getString("jMenu2.text")); // NOI18N
        jMenu2.setName("jMenu2"); // NOI18N
        jMenuBar1.add(jMenu2);

        setComponent(mainPanel);
        setMenuBar(menuBar);
        setStatusBar(pnlStatus);
    }// </editor-fold>//GEN-END:initComponents

    private void jIniziaTurnoMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jIniziaTurnoMouseClicked

        if (jIniziaTurno.isEnabled()) {
            Monopoli.getMonopoliGUI().iniziaTurno();
        }

    }//GEN-LAST:event_jIniziaTurnoMouseClicked

    private void jIniziaTurnoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jIniziaTurnoActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_jIniziaTurnoActionPerformed

    private void btnPingServerMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnPingServerMouseClicked

        String ping = Monopoli.getMonopoliCommunication().pingInitializationServer();

        Monopoli.getMonopoliGUI().getGestoreRefresh().refreshDebugConsole("[DBG_gui] Ping InitializationServer=" + ping);

    }//GEN-LAST:event_btnPingServerMouseClicked

    private void btnPingNextHostMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_btnPingNextHostMouseClicked
        String ping = Monopoli.getMonopoliCommunication().pingNextHost();

        Monopoli.getMonopoliGUI().getGestoreRefresh().refreshDebugConsole("[DBG_gui] Ping NextHost=" + ping);
    }//GEN-LAST:event_btnPingNextHostMouseClicked

    private void jIniziaTurno2MouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jIniziaTurno2MouseClicked
        // TODO add your handling code here:
        if (jIniziaTurno2.isEnabled()) {
            Monopoli.getMonopoliGUI().iniziaTurno();
        }
    }//GEN-LAST:event_jIniziaTurno2MouseClicked

    private void txtInfoGiocatoreMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_txtInfoGiocatoreMouseClicked

        updateAppendPlayerConsole("HAI CLICCATO!");
        //updateTabellone();
       
        if(prova==false) {
            //prova = true;
            //lbl2.setText("MARIO +" + counter++);
            //lbl2.setBounds(0,0,100,100);
            //pnlTrasparente.add(lbl2);
            //lbl2.setVisible(true);
            /*lblTabellone.repaint();
            pnlTrasparente.repaint();*/
            JFrame jf = this.getFrame();
            jf.repaint();
        }
        else {

            //pnlTrasparente.setVisible(false);
            //lbl2.setVisible(false);
            //pnlTrasparente.repaint();
            //pnlTrasparente.setBackground(new Color(255,255,255));
            lbl2.setText("MARIO +" + counter++);
            lbl2.setLocation(lbl2.getX() + 50, lbl2.getY()+ 50);
            //lbl2.setVisible(true);
            //pnlTrasparente.setVisible(true);
            //pnlTrasparente.add(lbl2);
            //pnlTrasparente.repaint();
            lblTabellone.repaint();
            pnlTrasparente.repaint();

            
        }
}//GEN-LAST:event_txtInfoGiocatoreMouseClicked

    private void pnlTrasparenteMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_pnlTrasparenteMouseClicked
        Point p = evt.getPoint();
        updateDebugConsole("X " + p.getX() +  " Y " + p.getY());
    }//GEN-LAST:event_pnlTrasparenteMouseClicked

    private void JlstPossedimentiMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_JlstPossedimentiMouseClicked
        // TODO add your handling code here:
        String s = new String();
        s = (String)JlstPossedimenti.getSelectedValue();
        showInfoProp(s);
    }//GEN-LAST:event_JlstPossedimentiMouseClicked

    private void JlstGiocatoriMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_JlstGiocatoriMouseClicked
        String s = new String();
        s = (String)JlstGiocatori.getSelectedValue();
        if(s.contains("+")==false)
            showInfoGiocatore(s);
    }//GEN-LAST:event_JlstGiocatoriMouseClicked


    public void updateTabellone(Tabellone tab) {
        

        /*pulisco il tabellone
        pnlTrasparente.removeAll();

        pnlTrasparente.revalidate();
        pnlTrasparente.repaint();*/

         ArrayList<Pedina> pedine = tab.getPedine();
         ArrayList<Costruzione> costruizioni = tab.getCostruzioni();

         //pnlTrasparente.setLayout(null);
         //pnlTrasparente.removeAll();

        //scorro le pedine e le visualizzo
         Iterator itP = pedine.iterator();
         while(itP.hasNext()) {
             Pedina p = (Pedina) itP.next();
             JLabel lbl = p.getLbl();
             if(lbl.getIcon() == null) {
                 String path = "resources/" + p.getNome() + ".png";
                 java.net.URL imgURL = getClass().getResource(path);
                 lbl.setIcon(new ImageIcon(imgURL));
                 lbl.setBounds(p.getPosX(), p.getPosY(), 35, 35);
                 pnlTrasparente.add(lbl);
                 lbl.setVisible(true);
             }
             else {
                
                lbl.setBounds(p.getPosX(), p.getPosY(), 35, 35);
                
                //lbl.setEnabled(false);
                //Point pt = lbl.getLocation();
                //pt.setLocation(pt.x - 30, pt.y);
                //lbl.setLocation(pt);
                //updateDebugConsole("NUMERO COMP" + pnlTrasparente.getComponentCount());
          
                }

             
         }

         Iterator itC = costruizioni.iterator();
         while(itC.hasNext()) {
             Costruzione c = (Costruzione) itC.next();
             JLabel lbl = c.getLbl();
             String nome = null;
             if(c instanceof Casa)
                 nome = "casa";
             else
                 nome = "hotel";

             String path = "resources/" + nome + ".png";
             java.net.URL imgURL = getClass().getResource(path);
             lbl.setIcon(new ImageIcon(imgURL));
             lbl.setBounds(c.getPosX(), c.getPosY(), 35, 35);
             pnlTrasparente.add(lbl,0);
         }


         /*
         JLabel lbl = new JLabel();
         String path = "resources/" + "mela2" + ".png";
         java.net.URL imgURL = getClass().getResource(path);
         lbl.setIcon(new ImageIcon(imgURL));
         lbl.setBackground(new Color(200,0,0));*/
      

        /*if(prova == false) {
            lbl.setBounds(620, 650, 35, 35);
            prova=true;
}

        else {
            lbl.setBounds(440, 650, 35, 35);
            prova=false;
        }*/
         lblTabellone.repaint();
         pnlTrasparente.repaint();
       
    }

    @Action
    public void LancioDadi() {
        Monopoli.getMonopoliGUI().gestioneTurno();
    }

    @Action
    public void aggiungiCasa() {
        Monopoli.getMonopoliPartita().getGameToGUI().aggiungiCasa();
    }

    @Action
    public void aggiungiHotel() {
        Monopoli.getMonopoliPartita().getGameToGUI().aggiungiHotel();
    }

    @Action
    public void passaTurno() {
       Monopoli.getMonopoliPartita().getGameToGUI().passaTurno();
    }

    @Action
    public void acquista() {
        Monopoli.getMonopoliGUI().acquista();
    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JList JlstGiocatori;
    private javax.swing.JList JlstPossedimenti;
    private javax.swing.JList JlstSoldi;
    javax.swing.JMenuItem avvioGioco;
    private javax.swing.JButton btnAcq;
    private javax.swing.JButton btnAggiornaStato;
    private javax.swing.JButton btnPedina;
    private javax.swing.JButton btnPingNextHost;
    private javax.swing.JButton btnPingServer;
    private javax.swing.JMenuItem impostaClient;
    javax.swing.JMenuItem impostaServer;
    private javax.swing.JButton jBtnPassaTurno;
    private javax.swing.JButton jDice;
    private javax.swing.JButton jHotel;
    private javax.swing.JButton jHouse;
    private javax.swing.JButton jIniziaTurno;
    private javax.swing.JButton jIniziaTurno2;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLayeredPane jLayeredPane1;
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenu jMenu2;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JLabel jMsg;
    private javax.swing.JPanel jPanTabellone;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JScrollPane jScrollPane4;
    private javax.swing.JScrollPane jScrollPane5;
    private javax.swing.JScrollPane jScrollPane6;
    private javax.swing.JScrollPane jScrollPane7;
    private javax.swing.JScrollPane jScrollPane8;
    private javax.swing.JTabbedPane jTabbedPane1;
    private javax.swing.JLabel lblDebug;
    private javax.swing.JLabel lblDebug1;
    private javax.swing.JLabel lblIp;
    private javax.swing.JLabel lblLocalHostBindName;
    private javax.swing.JLabel lblLocalHostIp;
    private javax.swing.JLabel lblLocalHostPort;
    private javax.swing.JLabel lblNextHostBindName;
    private javax.swing.JLabel lblNextHostIp;
    private javax.swing.JLabel lblNextHostPort;
    private javax.swing.JLabel lblPorta;
    private javax.swing.JLabel lblStato;
    private javax.swing.JLabel lblTabellone;
    private javax.swing.JPanel mainPanel;
    private javax.swing.JMenuBar menuBar;
    private javax.swing.JPanel pnlComando;
    private javax.swing.JTabbedPane pnlCommand;
    private javax.swing.JPanel pnlDatiClient;
    private javax.swing.JPanel pnlDatiGiocatore;
    private javax.swing.JPanel pnlDebug;
    private javax.swing.JPanel pnlInfo;
    private javax.swing.JPanel pnlServer;
    private javax.swing.JPanel pnlStatus;
    private javax.swing.JPanel pnlTrasparente;
    private javax.swing.JProgressBar progressBar;
    private javax.swing.JLabel statusAnimationLabel;
    private javax.swing.JLabel statusMessageLabel;
    private javax.swing.JTextArea txtInfoGiocatore;
    private javax.swing.JTextField txtIpServer;
    private javax.swing.JTextField txtLocalHostBindName;
    private javax.swing.JTextField txtLocalHostIp;
    private javax.swing.JTextField txtLocalHostPort;
    private javax.swing.JTextField txtNextHostBindName;
    private javax.swing.JTextField txtNextHostIp;
    private javax.swing.JTextField txtNextHostPort;
    private javax.swing.JTextField txtNome;
    private javax.swing.JTextField txtPedina;
    private javax.swing.JTextField txtPorta;
    private javax.swing.JTextField txtStato;
    private javax.swing.JTextArea txtaDebugConsole;
    // End of variables declaration//GEN-END:variables
    private final Timer messageTimer;
    private final Timer busyIconTimer;
    private final Icon idleIcon;
    private final Icon[] busyIcons = new Icon[15];
    private int busyIconIndex = 0;
    private JDialog aboutBox;
}
